วิธีการเชื่อมต่อ QuickSight ไปยัง RDS
ผมจะสาธิตวิธีการเชื่อมต่อ QuickSight ไปยัง RDS ซึ่งวิธีนี้สามารถนำไปปรับใช้กับการเชื่อมต่อ Server MySQL อย่างอื่นได้ โดยครั้งนี้ผมจะใช้ MySQL ที่สร้างใน Aurora Serverless
สิ่งที่ต้องมี
- สร้างบัญชี QuickSight โดยใช้เป็น Enterprise Edition ตามลิงก์ด้านล่างนี้
เมื่อสร้างเสร็จแล้วจะได้ QuickSight หน้าตาแบบนี้
- สร้าง Aurora Serverless V1 เตรียมไว้
ทำการ Start Aurora Serverless และทำการเชื่อมต่อ Aurora Serverless จาก Query Editor ให้เรียบร้อย เพราะเราจะใช้ Aurora Serverless (V1) นี้เชื่อมต่อกับ QuickSight ให้ทำตามลิงก์ด้านล่างนี้
เมื่อทำการ Start Aurora Serverless เสร็จแล้วจะได้หน้าตาแบบนี้
เมื่อเชื่อมต่อ Aurora Serverless จาก Query Editor และสร้าง Database, Table, Insert ข้อมูลเสร็จแล้วจะได้หน้าตาแบบนี้
※หมายเหตุ : ควรอ่านข้อมูลในหัวข้อ สิ่งที่ต้องมี อย่างละเอียด รวมถึงบทความอื่นๆ ที่เกี่ยวข้อง เพื่อไม่ให้เกิดความผิดพลาดระหว่างการดำเนินการครับ
Copy IPv4 CIDR (VPC)
ก่อนอื่นเราต้อง Copy IPv4 CIDR ใน VPC เตรียมไว้
ซึ่งในตัวอย่างนี้จะใช้เป็น VPC Default
นอกจากนี้คุณยังสามารถใช้ VPC ที่สร้างขึ้นเองได้อีกด้วย
เลือกรีเจี้ยนที่ใกล้กับเรามากที่สุด เช่นAsia Pacific (Singapore)
เป็นต้น
มาที่เมนูด้านซ้าย เลือกYour VPCs
และคลิกเข้าไปที่ VPC ID ของ default (VPC ID จะเปลี่ยนไปตามรีเจี้ยนที่เราเลือกใช้งาน)
มาที่ Details จากนั้นให้ Copy IPv4 CIDR เตรียมไว้
สร้าง Security Groups สำหรับ Aurora และเปลี่ยน Security Groups ใน Aurora
สร้าง Security Groups สำหรับ Aurora
มาที่หัวข้อ Basic details
» ตั้งชื่อ Security group name กับ Description ว่าอะไรก็ได้ เช่นtinnakorn_aurora_sg
เป็นต้น
» VPC:vpc-ab00ebcd
นี้คือรีเจี้ยนของ Singapore
มาที่หัวข้อ Inbound rules
① คลิกAdd rule
② เลือก Type เป็นMYSQL/Aurora ▼
③ วาง IPv4 CIDR ลงในSource:Custom ▼
และคลิกให้มาอยู่ด้านล่างเหมือนกับรูปภาพ
เมื่อตั้งค่าเสร็จเรียบร้อยแล้ว ให้เลื่อนลงมาด้านล่างสุดแล้วกดปุ่มCreate security group
เปลี่ยน Security Groups ใน Aurora
กลับมาที่ Aurora ของเราแล้วคลิกที่Modify
มาที่หัวข้อ Connectivity ดูที่ VPC Security Group จากนั้นคลิก default✕
ออก
เลือก Security Group ของเราที่สร้างขึ้นมาเมื่อสักครู่นี้ เช่นtinnakorn_aurora_sg
จากนั้นเลื่อนลงมาด้านล่างสุด คลิกContinue
เลือกApply immediately
และคลิกปุ่มModify cluster
เข้ามาที่ Aurora ของเราอีกครั้ง แล้วมาที่หัวข้อ Connectivity & security และดูที่ VPC security groups จะเห็นว่าเป็น Security Group ของเราเรียบร้อยแล้ว
สร้าง Security Groups สำหรับ QuickSight
มาที่หัวข้อ Basic details
» ตั้งชื่อ Security group name กับ Description ว่าอะไรก็ได้ เช่นtinnakorn_quicksight_sg
เป็นต้น
» VPC:vpc-ab00ebcd
นี้คือรีเจี้ยนของ Singapore
» จากนั้นเลื่อนลงมาด้านล่างสุดแล้วกดปุ่มCreate security group
การเชื่อมต่อ QuickSight ไปยัง Aurora โดยผ่าน VPC
มาที่มุมขวาบน คลิกที่ชื่อ QuickSight ของเรา และเลือกManage QuickSight
มาที่เมนูด้านซ้าย เลือกManage VPC connections
และคลิกที่Add VPC connection
กลับมาที่หน้า Security Groups ที่เราสร้างไว้สำหรับ QuickSight ของเราแล้ว Copy❐
Security group ID เตรียมไว้
กลับมาที่หน้า QuickSight แล้วทำการตั้งค่าดังนี้
» ตั้งชื่อ VPC connection name:tinnakorn_vpc
(ตั้งชื่ออะไรก็ได้)
» เลือก VPC ID:vpc-ab00ebcd
(VPC ID นี้เป็น default ของรีเจี้ยน Singapore)
» เลือก Subnet ID:subnet-********
(เลือกใช้อันไหนก็ได้)
» วาง Security group ID ที่ Copy มาเมื่อสักครู่นี้:sg-*****************
» คลิกCreate
เมื่อตั้งค่าเสร็จแล้วจะได้หน้าตาแบบนี้ จากนั้นคลิกที่ Icon QuickSight ที่มุมขวาบน
มาที่เมนูด้านซ้าย เลือกDatasets
และคลิกNew dataset
กลับมาที่ Aurora Serverless ของเรา แล้ว CopyEndpoint
กับPort
เตรียมไว้
กลับมาที่หน้า QuickSight แล้วเลือกMySQL
เมื่อมี pop-up แสดงขึ้นมาให้ทำการตั้งค่าดังนี้
» Data source name:tinnakorn_aurora
(ใส่ชื่อ Aurora ของเรา)
» Connection type:tinnakorn_vpc
(เลือก VPC ของเรา)
» Database server:tinnakorn-aurora.cluster-czh3xc0v8her.ap-southeast-1.rds.amazonaws.com
(วาง Endpoint ที่ Copy จาก Aurora มาเมื่อสักครู่นี้)
» Port:3306
(วาง Port ที่ Copy จาก Aurora มาเมื่อสักครู่นี้)
» Database name:tinnakorn
(ใส่ Database ของเราที่สร้างใน Aurora)
» Username:admin
(ใส่ Database ของเราที่สร้างใน Aurora)
» Password:********
(ใส่ Password ของเราที่สร้างใน Aurora)
» คลิกValidate connection
เมื่อปุ่ม Validate connection เป็นสถานะ✅Validated
แล้ว ให้คลิกที่ปุ่มCreate data source
ได้เลย
คลิก ◉ ที่ Table ของเราที่สร้างไว้ใน Aurora เช่นtest
จากนั้นคลิกSelect
เมื่อเข้ามาหน้านี้แล้วให้ดูที่ช่องสีเขียว จะเห็นว่ามีข้อมูลจาก Database Aurora มาแล้ว
ทีนี้ให้มาที่มุมขวาบน คลิกที่Save & publish
และคลิกCancel
ทดสอบการเพิ่มข้อมูลจาก Aurora ไปยัง SPICE ใน Dataset
กลับมาที่หน้า Query Editor ที่เชื่อมต่อกับ Aurora ของเรา จากนั้นรันคำสั่งนี้และกดปุ่ม Run เพื่อเพิ่มข้อมูลลง table ของเรา
use tinnakorn; // use + ชื่อ Database ของคุณ insert into test (id, message) values(4, 'AAA004'); // เพิ่มเนื้อหาที่คุณต้องการ
เลื่อนลงมาด้านล่าง ดูที่ Output เมื่อขึ้น ✅Success แล้วก็ถือว่าเพิ่มข้อมูลเสร็จเรียบร้อย
รันคำสั่งนี้แล้วกดปุ่ม Run เพื่อดูข้อมูลใน table ของเรา
use tinnakorn; // use + ชื่อ Database ของคุณ select * from test; // เปลี่ยน test เป็นชื่อ table ของคุณ
เลื่อนลงมาด้านล่าง ดูที่ Result set จะเห็นว่ามีข้อมูลเพิ่มขึ้นมาแล้ว
กลับมาที่หน้า QuickSight แล้วมาที่เมนูด้านซ้าย เลือกDatasets
และคลิกที่ Table ของเรา เช่นtest
เมื่อมี pop-up แสดงขึ้นมาแล้วเลือกEdit dataset
สังเกตที่ช่องสีเขียว จะเห็นว่าข้อมูลของid:4 | message:AAA004
ยังไม่แสดงขึ้นมา
ทีนี้ให้ทำการคลิกที่Refresh now
เมื่อ pop-up แสดงขึ้นมาให้เลือกFull refresh
และคลิกRefresh
ดูที่มุมขวาบน เมื่อขึ้นสถานะ Last refreshed แล้วให้คลิกที่Save & publish
และคลิกCancel
เลือกDatasets
และคลิกที่ Table ของเราอีกครั้ง
เมื่อมี pop-up แสดงขึ้นมาแล้วให้สังเกตที่ช่องสีเขียว (4 rows were imported to SPICE)
จะเห็นว่าตอนแรกมีอยู่ 3 rows ซึ่งตอนนี้ถูกเพิ่มมาเป็น 4 rows ทีนี้ก็ให้เราเลือกEdit dataset
เมื่อเข้ามาแล้วดูที่ช่องสีเขียว จะเห็นว่าid:4 | message:AAA004
ถูกเพิ่มเข้ามาแล้ว
เพียงเท่านี้การเพิ่มข้อมูลไปยัง SPICE ก็เสร็จเรียบร้อยแล้ว
สรุป
การสาธิตนี้เป็นการเชื่อมต่อ QuickSight ไปยัง Aurora โดยผ่าน VPC และทำการดึงข้อมูลที่อยู่ใน Aurora มาแสดงผลใน QuickSigh รวมไปถึงการใช้ฟังก์ชัน Refresh now เพื่อเพิ่มข้อมูลล่าสุดใน Aurora ไปยัง SPICE (พื้นที่ที่ใช้เก็บข้อมูลใน Database) ใน Dataset ของ QuickSight